// pages/category/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    leftMenuList:[],
    rightDataList:[],
    currentIndex: 0,
    scrollTop:0
  },
  //定义个当前页面的全局变量
  cates:[],
  // 生命周期函数--监听页面加载
  onLoad: function (options) {
    let cates = wx.getStorageSync('cates');
    console.log("====>",cates)
    if(!cates){//当本地没有任何数据存贮的时候 进行获取数据
      this.getCategories()
    }else{//本地存在缓存数据
      //判断数据是否过期
      if((+new Date() - cates.time)>100000){//设置10s过期时间并且进行判断
        //当超时之后 重新获取数据
        this.getCategories();
      }else{
        this.cates = cates.data;
        //获取左侧按钮内容
        let leftMenuList = this.cates.map(item => item.cat_name);
        //获取右侧商品分类列表
        let rightDataList = this.cates[0].children;
        this.setData({
          leftMenuList,
          rightDataList
        })
      }
    }
  },

  getCategories: async function(){
    let {data} = await wx.$http({url:"categories"});
    this.cates = data.message;
    //将数据存储到本地存储
    wx.setStorageSync("cates",{
      time:+new Date(),
      data:this.cates})
    //获取左侧按钮内容
    let leftMenuList = this.cates.map(item => item.cat_name);
    //获取右侧商品分类列表
    let rightDataList = this.cates[0].children;
    this.setData({
      leftMenuList,
      rightDataList
    })
  },

  //监听当左侧按钮列表被点击的事件
  onItemClick(e){
    let {index} = e.currentTarget.dataset;
    let rightDataList = this.cates[index].children;
    this.setData({
      rightDataList,
      currentIndex: index,
      scrollTop: 0
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})